﻿//   DiagnosticAreaAttribute.cs
//   Copyright (c) 2012 Eswar Prakash
// 
//    This library is free software; you can redistribute it and/or modify  
//    it  under the terms of the GNU Lesser General Public License version  
//    2.1 as published by the Free Software Foundation.                     
//                                                                          
//    This library is distributed in the hope that it will be useful, but   
//    WITHOUT ANY WARRANTY; without even the implied warranty of            
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     
//    Lesser General Public License for more details.                       
//                                                                          
//    You should have received a copy of the GNU Lesser General Public      
//    License along with this library; if not, write to the Free Software   
//    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
//    USA                                                                 
// 
namespace CKSAS.Core.Diagnostics
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    /// <summary>
    /// Indicates the parent diagnostic area for which this diagnostic category enumeration value
    /// will be a child of
    /// </summary>
    [AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
    internal sealed class DiagnosticAreaAttribute : Attribute
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="DiagnosticAreaAttribute"/> class.
        /// </summary>
        /// <param name="parentArea">The parent area to which this category belong.</param>
        public DiagnosticAreaAttribute(DiagnosticsAreas parentArea)
        {
            this.ParentArea = parentArea;
        }

        /// <summary>
        /// Gets or sets the parent area to which this diagnostic category will
        /// belong to
        /// </summary>
        public DiagnosticsAreas ParentArea { get; set; }
    }
}